package fr.lelouet.monitoring.snapshot;

import fr.lelouet.tools.Configurable;

/**
 * can be notified of modification of {@link HVSnapshot} or {@link VMSnapshot}.
 */
public interface SnapshotReceiver extends Configurable {

	/**
	 * notification of a modification of the state or of the list of VMs in an
	 * hypervisor
	 * 
	 * @param toShow
	 *            the {@link HVSnapshot} that has been modified.
	 */
	void hypervisorModification(HVSnapshot toShow);

	/** notification of the modification of the resource usages of a vm */
	void vmModification(VMSnapshot snapshot, HVSnapshot owner);

}
